dify是什么
Dify
是一个开源的大语言模型(LLM)应用开发平台,旨在简化和加速生成式AI应用的创建和部署。Dify结合了后端即服务(Backend as Service, BaaS)和LLMOps的理念,为开发者提供了一个用户友好的界面和一系列强大的工具,使他们能够快速搭建生产级的AI应用。
主要功能和特点
低代码/无代码开发:Dify通过可视化的方式允许开发者轻松定义Prompt、上下文和插件等,无需深入底层技术细节。
模块化设计:Dify采用模块化的设计,每个模块都有清晰的功能和接口,开发者可以根据需求选择性地使用这些模块来构建自己的AI应用。
丰富的功能组件:平台提供了包括AI工作流、RAG管道、Agent、模型管理等丰富功能组件,帮助开发者从原型到生产的全过程。
支持多种大语言模型:Dify已支持主流的模型,如Claude3、OpenAI等,开发者能够根据自己的需求选择最适合的模型来构建AI应用。
应用场景
聊天助手:基于LLM的对话助手,能够与用户进行自然语言交互,理解用户的问题、请求或指令,并给出相应的回答或执行相应的操作。
文本生成:专注于各种文本生成任务,如撰写故事、新闻报道、文案、诗歌等创意写作,以及文本分类、翻译等任务。
智能代理:具备对话能力和任务分解、推理、工具调用等高级能力,能够理解复杂的指令,将任务分解为多个子任务,并调用相应的工具或API来完成这些子任务。
工作流程:根据用户定义的流程编排,灵活地组织和控制LLM的工作流程。
官方网站: https://cloud.dify.ai/apps
官方文档:https://docs.dify.ai/zh-hans
官方github: https://github.com/langgenius/dify
官方体验:https://cloud.dify.ai/apps
注意访问需要科学上网 ,请自行解决
也可尝试使用手机流量开热点链接,此方法不保证完全可行
dify搭建
安装 Dify 之前, 请确保你的机器已满足最低安装要求:
CPU >= 2 Core
RAM >= 4 GiB
克隆 Dify 代码仓库
克隆 Dify 源代码至本地环境。
假设当前最新版本为 0.15.3
1 | git clone https://github.com/langgenius/dify.git --branch 0.15.3 |
启动 Dify
进入 Dify 源代码的 Docker 目录
1
cd dify/docker
复制环境配置文件
1 | cp .env.example .env |
启动 Docker 容器
根据你系统上的 Docker Compose 版本,选择合适的命令来启动容器。你可以通过 $ docker compose version 命令检查版本,详细说明请参考 Docker 官方文档:
如果版本是 Docker Compose V2,使用以下命令:
1 | docker compose up -d |
如果版本是 Docker Compose V1,使用以下命令:
1 | docker-compose up -d |
运行命令后,你应该会看到类似以下的输出,显示所有容器的状态和端口映射:
1 | [+] Running 11/11 |
最后检查是否所有容器都正常运行:
1 | docker compose ps |
在这个输出中,你应该可以看到包括 3 个业务服务 api / worker / web,以及 6 个基础组件 weaviate / db / redis / nginx / ssrf_proxy / sandbox 。
1 | NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS |
通过这些步骤,你应该可以成功在本地安装 Dify。
更新 Dify
进入 dify 源代码的 docker 目录,按顺序执行以下命令:
1
2
3
4
5cd dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d
Dify 使用
浏览器访问:http://ip:80/
创建账号进行登录,然后,可进行使用
注意第一次创建的管理员账号密码不要忘记
忘记之后,按照官网办法重置密码并不成功
需要删除所有容器,删除docker 目录下的volumes/ 然后重启
相当于重新安装
问题解决
出现问题
1 | Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) |
解决办法
https://blog.csdn.net/wufaqidong1/article/details/144476399
1.备份原来的配置文件
1
cp /etc/docker/daemon.json{,.bak}
2.删除或修改daemon.json 文件, 并添加如下配置
1
rm -rf /etc/docker/daemon.json
1 | sudo tee /etc/docker/daemon.json<<-'EOF' { "registry-mirrors":[ "https://docker.1ms.run", "https://doublezonline.cloud", "https://dislabaiot.xyz", "https://docker.fxxk.dedyn.io", "https://dockerpull.org", "https://docker.unsee.tech", "https://hub.rat.dev", "https://docker.1panel.live", "https://docker.nastool.de", "https://docker.zhai.cm", "https://docker.5z5f.com", "https://a.ussh.net", "https://docker.udayun.com", "https://hub.geekery.cn" ,"https://docker.1ms.run","https://docker.1panel.live/"] } EOF |
重启docker
1
2sudo systemctl daemon-reload
sudo systemctl restart docker
一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;